Web advertising campaign management system and method

ABSTRACT

Events generated by customer interaction during an internet-based session are made available for use by a system for tracking the effectiveness of web advertising campaigns. Event occurrences are collected for evaluation to determine whether campaign goals are being met. Campaigns are defined by rules indicating which ad content is to be displayed to which customers. Event types to be reported are selected depending on the needs of the particular campaign.

PRIORITY CLAIM

The present application is a continuation application of U.S. patentapplication Ser. No. 11/358,149, filed on Feb. 21, 2006, titled “WebCampaign Promotion System And Method,” which claims priority based uponProvisional Application Filing No. 60/172,279 filed Dec. 17, 1999 titledPersonalized Web Campaign Promotion System With Campaign EffectivenessTracking,” the disclosures of which are both incorporated herein byreference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to computer systems thatcommunicate of the internet, and more specifically to a system andmethod for tracking the effectiveness of advertising campaigns overinternet systems.

2. Description of the Prior Art

Advertising over the internet has become extremely common. In manycases, paid advertising is the primary source of revenue for internetcontent providers. For others, advertisements can direct potentialcustomers to additional products available, and promote products thatthe content provider wants or needs to sell.

An important goal of advertising, especially in a medium such as theinternet, is to direct the advertising to customers most likely to buythe product. Various types of customer profiling is becoming common,with choice of advertisements dynamically selected based uponinformation collected about the person accessing a web page, and uponpurchasing or viewing patterns that person is currently demonstrating.An example of such advertising technique is found in U.S. Pat. No.5,710,887, issued to Chelliah et al. Many other examples of advertisingbased upon purchaser identification are known in the art.

One common advertising technique is to provide a selected portion of aweb page for displaying advertisements. This portion is usually at thetop of a displayed page, where a potential purchaser will encounter itwhen the page is first loaded. If the person viewing the page isinterested in the product or service depicted I the advertisement,usually clicking on the advertisement will take that person to anotherweb page where the product or service can be purchased, or additionalinformation found. This approach is often generally referred to asbanner advertising, because the selected portion is a rectangular bannershape at the top of the page.

Numerous approaches are in use for selecting the particular ads to bedisplayed to a particular customer. A common problem with manyapproaches is determining how effective they are, during and after anadvertising campaign. Although various purchaser profiles can beselected in advance to determine which customers will be shown whichadvertisements, it is often difficult to find out after the fact whetherthe campaign was, in fact, effective.

It would be desirable to provide a system and method that not onlyallowed advertising campaigns to be defined, but that allowed theeffectiveness of the campaign to be monitored. It would further bedesirable for such a system and method to be compatible with currentweb-based internet systems, and be easy to use.

SUMMARY OF THE INVENTION

In accordance with the present invention, events generated by customerinteraction during an internet-based session are made available for useby a system for tracking the effectiveness of web advertising campaigns.Event occurrences are collected for evaluation to determine whethercampaign goals are being met. Campaigns are defined by rules indicatingwhich ad content is to be displayed to which customers. Events types tobe reported are selected depending on the needs of the particularcampaign.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself however, as well as apreferred mode of use, further objects and advantages thereof, will bestbe understood by reference to the following detailed description of anillustrative embodiment when read in conjunction with the accompanyingdrawings, wherein:

FIG. 1 is a block diagram of a communication system for use over theinternet;

FIG. 2 is a simplified diagram of a display;

FIG. 3 is a block diagram of a system for handling events generated bynumerous applications; and

FIG. 4 is a block diagram of a preferred system for managing advertisingcampaigns.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention is described in the context of the followingimplementation. Those skilled in the art will recognize that numerousalternative implementations can be used to accomplish the followingdescribed results and goals.

FIG. 1 illustrates, at a high level, a typical system 10 used toimplement the preferred embodiment. A browser 12, used by a customer,connects to a server 14 through the internet 16, or other suitablecommunications network. Server 14 is responsible for responding torequests received from browser 12, and provides content to be displayedon display 18.

As described below, server 14 also provides advertisements to bedisplayed. The selection of advertisements to be displayed depends uponseveral factors, including what ad campaigns are currently in effect andwho the customer is. In response to actions taken by the customer,selected events are generated by applications running on server 14, andare forwarded to event handler 20. In the preferred embodiment, eventhandler 20 is an application dedicated to supporting one or moreadvertising campaigns, and deals with the various events in a mannerthat will facilitate analysis of the effectiveness of the campaigns.Various reports 22 are generated using the data processed by eventhandler 20.

FIG. 2 shows a typical web page layout that is suitable for use in thepreferred embodiment. Numerous alternative arrangements are known tothose skilled in the art, but layout 28 will serve to demonstratefeatures of interest for all layouts. Typically, each web page includescontent 30, which may include text, graphics, and additional items suchas dialog boxes and various controls that may be manipulated by theviewer. It is common for index and other information 32 to be includedin some portion of the page layout. For purposes of the presentinvention, a portion of the page is reserved for banner advertisements34. As known in the art, such advertisements are generally selecteddynamically, potentially being different for every different viewer ofthe same page.

Each time a page is selected for viewing, server 14 includes a graphicthat will be located in the banner ad region 34. The graphic to bedisplayed is preferably selected according to campaign rules provided bya campaign manager (not shown). Each ad will have a type, and otherinformation to enable effectiveness tracking to be performed, asdescribed below. As is known in the art, a viewer can select (click on)the banner ad 34, and will be connected with another web page.

FIG. 3 illustrates a preferred technique for handling events such asthose used to track the effectiveness of web advertising campaigns.Several server applications 40 execute on server 14, or associatedhardware. During the course of that execution, various events occur thatneed to be reported. These events include those related to theadvertising campaign, as well as others. In the preferred embodiment,every event generates a message to a router 42, which distributes themto event handler applications 44, 46, 48.

Event messages received by router 42 all have a type, and otheridentifying information. Handlers 44-46 register to receive events ofselected types, with tables in router 42 maintaining the registrationinformation. Several handlers can register to receive the same events,and router 42 forwards the messages to every register handler each timean event is received from an application 40. Thus, the system shown inFIG. 3 is a generic event routing system that is also used forapplications other than the web advertising campaign described herein.

Each campaign can have one or more handlers 44-46, or several campaignscan use the same handler. Correspondence of handlers to campaigns isselected to meet the needs of each installation. In a simpleimplementation, each separate campaign uses a separate event handler todeal with all events related to the campaign. When an advertisingcampaign is started, a new handler is defined and instantiated to handleevents for that campaign. The handler registers with event router 42 toreceive all events that are of interest to the campaign, as describedbelow. Because different campaigns may be interested in different typesof events, the use of a generic router 42 can simplify the overallimplementation of the campaign management system. However, any systemthat can generate message as described below can be utilized toimplement the effectiveness tracking system.

FIG. 4 illustrates the major parts of a preferred system to implementand track advertising campaigns. Server application 52 receives customerinputs, and generates content to be returned to the customer over theinternet. The returned content includes advertisements for selectedpages, and does not for others. As server application 52 generatesevents, messages are sent through router 58 to an event handler 60designated for use by this campaign. Handler 60 verifies the events itreceives, performs some processing on them and updates data stored in adatabase 62. For example, if handler 60 is registered to receive eventsgenerated when a customer actually purchases an advertised product, itcan then update database 62 each time a purchase is made.

Server application 52 uses rules from rules tables 54 to determine whichads to include with the content being sent to the customer. These rulesare defined by a campaign manager application 56, which works with oneor more business users to define the campaigns to be run. The manager 56also receives feedback from database 62; that feedback indicates how thecampaign is doing. In response to such feedback, campaigns can bemodified, cancelled, and so forth.

In addition, handler 60 can modify operation of content display handledby application 52. For example, a product discount can be given to thosecustomers who purchase a product in response to the ad campaign. Forexample, an event referred to as a “click-through” occurs when acustomer responds to a banner ad by clicking on it, and is taken to apage from which the product can be purchased. By watching for suchclick-through events, handler 60 can notify application 52 that adiscount is to given to a customer for a session that generated theclick-through. Other modifications can be made in response to campaignevents, and can modify the content sent to customers, and the terms ofthe product sales, in a similar manner.

Each campaign therefore includes two major parts; a set of rulesdefining what ads will be shown and under what circumstances, and aselection of events to be retained to analyze the results of thecampaign. The business user managing the campaign has a number ofcapabilities to manage it. These include defining ad content andassociating it with products. Also included is the ability to associatediscounts with a click-through as described above. Rules can be definedto evaluate system and customer data, which then allows ads to bedisplayed for selected customers meeting certain criteria. Criteria canbe based on customer information, including individual information suchas personal buying history. It may also be based on broader profiles,such as age, sex, and income.

A campaign is made up of sets of rules used to define what products arecovered, what discounts, if any, will be offered and to whom, to whomthe ads will be displayed, and a time period in which the campaign isactive. Additional rules may be included if desired. Default ad contentmust be defined in the system so that all banners contain ad content. Ifnone of the ad campaigns currently in effect match a rule, the defaultcontent can be displayed.

Campaigns are preferably defined for specified dates and time periods. Acampaign can also be defined until specified events, internal orexternal, occur. For example, if a campaign is run to sell products inan overstock condition, the campaign can be defined to run until theoverstock condition disappears. In a similar manner, rules canpreferably be defined that take into consideration conditions in thesupply chain. A sale can be suspended if suppliers run into short supplyon sale items or components for them. A campaign can be suspended at anytime in response to input from a person working with the campaignmanager application 56.

Generally several campaigns will be running concurrently. It is possiblethat several campaigns will contain rules that would call for addbanners to be displayed for more than one at a given time. Suchconflicts can be handled by additional rules that define a preferencefor one over the other. Another approach is to define a weightingfactor, so that overlapping campaigns will share ad time before thecustomer base. Such scheduling and preference algorithms are generallyknown in the art, and will not be described here in detail.

A campaign also specifies what will be tracked in order to determine itseffectiveness. This can involve simple data collection, such ascollecting only the number of times a banner for the product isdisplayed and the number of purchases made of the product. Somewhat moresophisticated information will generally be desired, however. Forexample, a count of the number of click-throughs that occur tends toindicate the actual effectiveness of an ad banner. Also, subsequentpurchases by the same customer who viewed an ad banner is more usefulthan a simple count of sales. Data tracking the number of inquiries fordetailed information in response to a click-through, and the time suchinformation is displayed before being replaced by another page, canprovide highly detailed information regarding the success of thecampaign in attracting customer attention.

Although click-throughs have been described in conjunction with adbanners at the top of a web page, it will be recognized by those skilledin the art that ad content can be displayed in other circumstances. Forexample, when a customer is browsing through products or servicesoffered by a business, indications of special offers can be displayed inany format. Selection (click-through) for these indicators acts in amanner similar to that described above for banner ads. In fact, in manycampaigns, the rules for display of special offers and sales will limitad display to customers who have already shown that they are seriousabout buying from the company. IN a similar manner, one common rule thatcan be used to define a campaign is to make special offers to customerswho have already purchased one or more products, or placed them in ashopping cart for purchase.

As described above, numerous types of events are used to control thecampaign, and to track its effectiveness. Some events are used primarilyfor campaign control, while others are used for effectiveness tracking.Many events are used for both, depending on the rules used to controlthe campaign, and the degree of tracking desired. Some of the types ofevents preferably included are:

Session start and session end, when a session is established orcompleted for a customer. A timestamp is preferably included.

Authentication, when a user is successfully identified.

Begin shopping and end shopping, when a user enters or leaves a shoppingworkflow.

Product details requested, when so requested by a user.

Events indicating that a product is added to, or removed from, thecustomer's shopping cart.

Purchase of a product, or order of a product to be shipped.

Beginning or ending a product configuration session.

An impression event when an ad is rendered for a customer.

Profile match, when a profile match is found as a result of a rulesevaluation.

Click-through events for any click-throughs, including those for up-sellads and cross-sell ads.

Remote system events, including click-through to a remote URL, and areferral from another domain to the local domain.

Effectiveness tracking may only apply to some of the above events. Theselected events can vary from campaign to campaign. Occurrences ofselected events are logged in tables provided for the purpose indatabase 62, and statistical evaluations can be created and studied atleisure through the campaign manager application 56. If any events arenot recognized by handler 60 when they are received, they can beincluded in a table reserved for unrecognized or otherwise untrackedevents.

Tracking events for a campaign can be turned on and off independentlyfrom a campaign itself. This can be useful when tracking data is notneeded, or only a subset is needed. Once a campaign has been shown to besatisfactorily effective, tracking can be minimized, or even eliminatedexcept for periodic reviews. This simplifies reporting by avoiding theneed to record every event when doing so is not very useful.

To attain the above objectives requires only minimal modification ofexisting code. Events, or a similar reporting system, are alreadyincluded in most sophisticated web hosting system. They need merely bemodified to ensure that an appropriate handler receives them foreffectiveness tracking to be implemented. Defining the campaign is alittle more complicated, but again can be done without significantlyaltering existing code.

In addition, each web page must have an area set aside to display thecampaign content. In many cases, this is already provided. In othersystems, an area will need to be set aside for campaign content to beinserted. In either case, a default content, which could be blank, canbe used whenever no campaigns are active, or whenever no campaigns aretriggered to include an ad by the rules used to define the campaign.

The described system allows the effectiveness of the campaign to beeasily tracked by capturing events and storing them to a database orother persistent storage. Once the appropriate raw data has beencollected, it is easily analyzed using widely available techniques toindicate to a business whether or not the campaign is actuallyeffective, and how quickly its goals are being reached.

While the invention has been particularly shown and described withreference to a preferred embodiment, it will be understood by thoseskilled in the art that various changes in form and detail may be madetherein without departing from the spirit and scope of the invention.

1. A computer-implemented method, comprising: registering a first eventhandler associated with a first advertising campaign to receive eventmessages of a first event type from among a plurality of event types,wherein each of the plurality of event types is a distinct type of eventresulting from one or more occurrences related to a web page andassociated with user interaction with the web page; registering a secondevent handler associated with a second advertising campaign to receiveevent messages of a second event type from among the plurality of eventtypes; one or more applications executing on one or more serversgenerating display content for the web page and transmitting the displaycontent to the user via the communications network; receiving input froma user of the web page via a communications network; determining, basedon the received input, events associated with web page activity of theuser to be events defined by the first advertising campaign and thesecond advertising campaign; one or more applications executing on theone or more servers generating a first event message of the first eventtype based on a first determined event of the determined events; the oneor more applications executing on the one or more servers generating asecond event message of the second event type based on a seconddetermined event of the determined events; forwarding at least the firstevent message and at least the second event message to the respectivefirst event handler and the second event handler registered to receiveevent messages of the respective first event type of the first eventmessage and the second event type of the second event message; the firstevent handler modifying operation of the one or more applications basedon the forwarded first event message being of the first event type togenerate first modified display content comprising at least a firstadvertisement from the first advertising campaign; the second eventhandler modifying operation of the one or more applications based on theforwarded second event message being of the second event type togenerate second modified display content comprising at least a secondadvertisement from the second advertising campaign; and transforming thedisplay content of the web page to comprise the first modified displaycontent and the second modified display content to present the firstadvertisement and the second advertisement to the user via thecommunications network.
 2. The method of claim 1, wherein two or more ofthe plurality of event handlers are registered to receive event messagesof the first event type and further comprising forwarding each eventmessage associated with the one or more identified events associatedwith the first event type to each of the two or more of the plurality ofhandlers registered to receive event messages of the first event type.3. The method of claim 1, wherein modifying includes modifying thedisplay content to present one or more users of the web page an optionto purchase a product or service at a discount from a regular price forsuch purchase.
 4. The method of claim 1, wherein a plurality ofadvertising campaigns are associated with the first event handler, andwherein the first event handler modifies operation of the one or moreapplications, based on the forwarded first event message, to generatethe first modified display content comprising at least a thirdadvertisement from one of the advertising campaigns of the plurality ofadvertising campaigns and at least a fourth advertisement from anotherof the advertising campaigns of the plurality of advertising campaigns.5. The method of claim 1, wherein the first event handler registers withan event router to be associated with the first advertising campaign andwherein the event router routes event messages associated with the oneor more identified events related to the first advertising campaign ofthe first event type to the first event handler.
 6. The method of claim1, wherein the first event handler updates a database upon receipt ofeach event message of the first event type.
 7. The method of claim 1,wherein the first advertising campaign is comprised of a set of rulesused to define applicability of the first advertisement for displaycontent, further comprising a campaign manager application, executing onthe one or more servers and having access to a database updated by thefirst event handler, modifying the set of rules based on updates fromthe first event handler.
 8. The method of claim 1, transmitting thetransformed display content of the web page comprising the firstmodified display content and the second modified display content to atleast one of one user or more users of the web page to present the firstadvertisement and the second advertisement.
 9. The method of claim 8,further comprising selecting the first advertisement from the firstadvertising campaign based on an identity of the at least one user ofthe one or more users.
 10. The method of claim 1, wherein the firstevent handler is registered to receive event messages of the first eventtype from among the plurality of event types and not event messages ofthe second event type from among the plurality of event types.
 11. Asystem comprising: one or more servers that generates display content ofa web page for transmission to one or more users of the web page via acommunications network, wherein the one or more servers receive inputfrom the one or more users via the communications network, and whereinthe one or more servers are configured to determine, based on thereceived input, events associated with web page activity of at least oneuser of the one or more users to be identified events related to aplurality of advertising campaigns, wherein the identified events areassociated with event types, wherein each of the event types is adistinct type of event that results from one or more occurrences relatedto a web page; a first event handler registered to receive eventmessages of at least a first event type of event types; a second eventhandler registered to receive event messages of at least a second eventtype of the event types, wherein event messages of the first event typeresult from occurrences related to a first type of activity on the webpage and event messages of the second event type result from occurrencesrelated to a second type of activity on the web page; one or more serverapplications executing on the one or more servers generating one or moreevent messages based on the determined identified events related to theadvertising campaigns, and further associating the one or more eventmessages with the one or more event types associated with the identifiedevents and identifying each event type of each one or more eventmessages by including identifying information in the one or more eventmessages; and an event router, receiving the one or more event messages,that forwards at least one of the received one or more event messages tothe first event handler when the received one or more event messages isassociated with the first event type, and that forwards at least one ofthe received one or more event messages to the second event handler whenthe received one or more event messages is associated with the secondevent type; wherein the first event handler provides a first input tothe one or more servers, based on the forwarded one or more eventmessages of the first event type, and the one or more servers generatefirst modified display content comprising at least a first advertisementfrom a first advertising campaign of the advertising campaigns inresponse to the first input; wherein the second event handler providessecond input to the one or more servers, based on the forwarded one ormore event messages of the second event type, and the one or moreservers generates second modified display content comprising at least asecond advertisement from a second advertising campaign of theadvertising campaigns in response to the second input; and wherein theone or more servers transmits display content comprising at least one ofthe first modified display content and the second modified displaycontent to the at least one user of the one or more users via thecommunications network.
 12. The system of claim 11, further comprising aplurality of event handlers registered to receive event messages of thefirst event type and further wherein the event router forwards eachevent message associated with the one or more identified events of thefirst event type to each of the plurality of event handlers registeredto receive event messages of the first event type.
 13. The system ofclaim 11, wherein the one or more servers modifies the display contentto present one or more users of the web page an option to purchase aproduct or service at a discount from a regular price for such purchase.14. The system of claim 11, wherein a plurality of advertising campaignsare associated with the first event handler, and wherein the first eventhandler modifies operation of the one or more server applications, basedon the forwarded first event message, to generate the first modifieddisplay content comprising at least a third advertisement from one ofthe advertising campaigns and at least a fourth advertisement fromanother of the advertising campaigns.
 15. The system of claim 11,wherein the first event handler registers with the event router to beassociated with the first advertising campaign and wherein the eventrouter routes event messages associated with the one or more identifiedevents of the first event type related to the first advertising campaignto the first event handler.
 16. The system of claim 11, furthercomprising a database coupled to the first event handler, wherein thefirst event handler updates the database upon receipt of each eventmessage of the first event type.
 17. The system of claim 11, wherein thefirst advertising campaign is comprised of a set of rules used to defineapplicability of the first advertisement for display content, furthercomprising a campaign manager application executing on the one or moreservers and having access to a database updated by the first eventhandler, wherein the campaign manager application modifies the set ofrules based on updates to the database by the first event handler. 18.The system of claim 11, wherein the first advertisement is selected fromthe advertising campaign for display content based on an identity of oneor more users of the web page.
 19. The system of claim 11, furthercomprising a plurality of event handlers including the first eventhandler and the second event handler, wherein the first event handler ofthe plurality of event handlers is registered to receive event messagesof the first event type from among the plurality of event types and notevent messages of the second event type from among the plurality ofevent types.
 20. A non-transitory machine readable storage mediumcontaining machine readable instructions that when executed causes adata processing system to perform a method, comprising: registering afirst event handler associated with a first advertising campaign toreceive event messages of a first event type from among a plurality ofevent types, wherein each of the plurality of event types is a distincttype of event resulting from one or more occurrences related to a webpage and associated with user interaction with the web page; registeringa second event handler associated with a second advertising campaign toreceive event messages of a second event type from among the pluralityof event types; one or more applications executing on one or moreservers generating display content for the web page and transmitting thedisplay content to the user via the communications network; receivinginput from a user of the web page via a communications network;determining, based on the received input, events associated with webpage activity of the user to be events defined by the first advertisingcampaign and the second advertising campaign; one or more applicationsexecuting on the one or more servers generating a first event message ofthe first event type based on a first determined event of the determinedevents; the one or more applications executing on the one or moreservers generating a second event message of the second event type basedon a second determined event of the determined events; forwarding atleast the first event message and at least the second event message tothe respective first event handler and the second event handlerregistered to receive event messages of the respective first event typeof the first event message and the second event type of the second eventmessage; the first event handler modifying operation of the one or moreapplications based on the forwarded first event message being of thefirst event type to generate first modified display content comprisingat least a first advertisement from the first advertising campaign; thesecond event handler modifying operation of the one or more applicationsbased on the forwarded second event message being of the second eventtype to generate second modified display content comprising at least asecond advertisement from the second advertising campaign; andtransforming the display content of the web page to comprise the firstmodified display content and the second modified display content topresent the first advertisement and the second advertisement to the uservia the communications network.
 21. A non-transitory machine readablestorage medium of claim 20, wherein two or more of the plurality ofevent handlers are registered to receive event messages of the firstevent type and further comprising forwarding each event messageassociated with the one or more identified events associated with thefirst event type to each of the two or more of the plurality of handlersregistered to receive event messages of the first event type.
 22. Anon-transitory machine readable storage medium of claim 20, whereinmodifying includes modifying the display content to present one or moreusers of the web page an option to purchase a product or service at adiscount from a regular price for such purchase.
 23. A non-transitorymachine readable storage medium of claim 20, wherein a plurality ofadvertising campaigns are associated with the first event handler, andwherein the first event handler modifies operation of the one or moreapplications, based on the forwarded first event message, to generatethe first modified display content comprising at least a thirdadvertisement from one of the advertising campaigns of the plurality ofadvertising campaigns and at least a fourth advertisement from anotherof the advertising campaigns of the plurality of advertising campaigns.24. A non-transitory machine readable storage medium of claim 20,wherein the first event handler registers with an event router to beassociated with the first advertising campaign and wherein the eventrouter routes event messages associated with the one or more identifiedevents related to the first advertising campaign of the first event typeto the first event handler.
 25. A non-transitory machine readablestorage medium of claim 20, wherein the first event handler updates adatabase upon receipt of each event message of the first event type. 26.A non-transitory machine readable storage medium of claim 20, whereinthe first advertising campaign is comprised of a set of rules used todefine applicability of the first advertisement for display content,further comprising a campaign manager application, executing on the oneor more servers and having access to a database updated by the firstevent handler, modifying the set of rules based on updates from thefirst event handler.
 27. A non-transitory machine readable storagemedium of claim 20, transmitting the transformed display content of theweb page comprising the first modified display content and the secondmodified display content to at least one user of one or more users ofthe web page to present the first advertisement and the secondadvertisement.
 28. A non-transitory machine readable storage medium ofclaim 27, further comprising selecting the first advertisement from thefirst advertising campaign based on an identity of the at least one userof the one or more users.
 29. A non-transitory machine readable storagemedium of claim 20, wherein the first event handler is registered toreceive event messages of the first event type from among the pluralityof event types and not event messages of the second event type fromamong the plurality of event types.